Onglet : <nom de l'appareil> Mappage d'E/S
Appareils avec canaux d'E/S
Cet onglet s'affiche dans les éditeurs d'appareils pour les appareils avec voies d'E/S. Il affiche les canaux disponibles et permet le mappage des adresses d'entrée, de sortie et de mémoire du contrôleur à des variables ou à des blocs fonctionnels entiers de l'application. Vous créez ainsi le 'mappage E/S'.
Pour plus d'informations, consultez : Configuration des périphériques et du mappage des E/S
L'application qui doit prendre en charge la gestion des E/S est définie sur le Paramètres API languette.
Astuce
Vous pouvez utiliser le "Mode de configuration en ligne" si l'appareil le prend en charge. Dans ce mode, vous pouvez accéder aux E/S du matériel sans avoir à télécharger au préalable une application réelle sur l'appareil.
Astuce
Si une voie d'E/S n'est pas référencée dans l'application, alors sa valeur ne sera pas mise à jour. Si vous souhaitez surveiller les voies d'E/S non référencées, vous devez alors activer l'option Toujours mettre à jour les variables option sur le Onglet : Paramètres API. Alternativement, vous pouvez également activer cette option sur le Mappage d'E/S onglet d'un appareil. L'activation n'est alors valable que pour cet appareil et ses enfants.
Cartographier les types de données "trop volumineux"
Si une variable d'un type de données supérieur à un octet est mappée à une adresse d'octet, la valeur de la variable y sera tronquée à la taille d'octet. Pour surveiller la valeur de la variable dans Mappage d'E/S dialogue, cela signifie que, dans l'élément racine de l'adresse, la valeur que la variable a actuellement dans le projet est affichée. Les valeurs de bit individuelles actuelles de l'octet sont affichées successivement dans les éléments de bit en dessous, mais cela peut ne pas être suffisant pour la valeur de variable entière.
Exemple de la <nom du périphérique> Mappage d'E/S onglet pour un esclave du bus CAN :

L'onglet contient un tableau permettant de modifier le mappage d'E/S. Les informations affichées pour les entrées et les sorties proviennent de la description de l'appareil.
Trouver (1) | Champ de saisie d'une chaîne à rechercher dans la table de mappage Les résultats de la recherche sont surlignés en jaune. |
Filtre (2) | Zone de liste avec des filtres pour les mappages d'E/S affichés dans la table de mappage :
|
| Selon l'appareil, disponible si l'entrée de canal est sélectionnée dans le tableau de mappage Ouvre le Sélectionner le bloc de fonction boîte de dialogue de sélection du bloc fonction à lier directement à la voie |
| Disponible si l'entrée est sélectionnée dans la table de mappage Saute à l'entrée correspondante sur le <nom de l'appareil> Objets CEI languette |
Variable | Selon l'appareil, les entrées et les sorties de l'appareil sont affichées sous forme de nœuds et en dessous, en retrait, les voies associées ou, selon l'appareil, uniquement l'instance d'appareil implicitement créée. Le symbole indique le type de canal :
Double-cliquez sur la cellule pour ouvrir un champ de saisie.
Selon l'appareil, les entrées ou les sorties peuvent être reliées directement à un bloc fonction. Dans ce cas, le |
Cartographie (3) | Type de mappage :
|
Canal (4) | Nom symbolique du canal. |
Adresse (5) | Adresse du canal (exemple : Adresse barrée : indique que vous ne devez plus affecter de variables à cette adresse. Raison : Bien que la variable spécifiée ici soit gérée - en tant que variable existante - à un emplacement de mémoire différent, une ambiguïté peut survenir lors de l'écriture des valeurs, en particulier avec les sorties.
Si la disposition des objets de l'appareil dans l'arborescence des appareils change, alors CODESYS n'adapte pas automatiquement cette adresse. |
Taper (6) | Type de données du canal (exemple : Les structures ou les champs de bits définis dans la description de l'appareil ne sont affichés que s'ils font partie de la norme CEI et sont identifiés comme types de données CEI dans la description de l'appareil. Sinon, la cellule du tableau reste vide. Lors du mappage de variables structurées, l'éditeur vous empêche de spécifier à la fois la variable de structure (exemple : |
Valeur par défaut | Valeur par défaut du paramètre qui s'applique à la voie : N'apparaît que si l'option Définir toutes les sorties par défaut est sélectionné dans le Paramètres API pour le comportement des sorties à l'arrêt. Remarque : Pour la version du compilateur V3.5 SP11 et supérieure, la valeur d'initialisation des variables est utilisée automatiquement comme valeur par défaut lors du mappage à une variable existante. Vous pouvez modifier le Valeur par défaut champ uniquement si vous mappez à une nouvelle variable créée. Dans les anciennes versions, les utilisateurs devaient spécifier explicitement que la valeur par défaut et la valeur d'initialisation étaient identiques. |
Unité (7) | Unité de la valeur du paramètre (exemple : |
La description (8) | Brève description du paramètre |
Valeur actuelle | Valeur réelle du paramètre appliqué au canal ; affiché en mode en ligne uniquement |
Astuce
Le changement de la valeur par défaut par un changement en ligne est autorisé, cependant la valeur n'est appliquée qu'après un "Reset froid" ou "Reset chaud".
Réinitialiser le mappage (9) | CODESYS réinitialise les paramètres de mappage aux valeurs par défaut telles que définies dans le fichier de description de l'appareil. |
Toujours mettre à jour les variables (dix) | Définition de l'objet d'appareil concernant la mise à jour des variables d'E/S La valeur par défaut est définie dans la description de l'appareil :
|
Astuce
Si une UNION est représentée par des canaux d'E/S dans la boîte de dialogue de mappage, cela dépend de l'appareil si le mappage à l'élément racine est également possible.
Pour plus d'informations, consultez : Dispositifs de bus de terrain et pilotes d'E/S
Périphériques avec pilotes d'E/S
Pour les appareils avec pilotes d'E/S, vous pouvez définir la tâche de cycle de bus ici dans le Mappage d'E/S si les paramètres généraux ne doivent pas être utilisés (Paramètres API languette).
Tâche de cycle de bus | La zone de liste fournit toutes les tâches qui sont définies dans la configuration des tâches de l'application active (exemple : Tâche principale. En cas de Utiliser le paramètre de cycle de bus parent, les paramètres du nœud parent seront utilisés. |
Informations générales sur la tâche de cycle de bus
Généralement, pour chaque tâche CEI, les données d'entrée utilisées sont lues au début de chaque tâche (1) et les données de sortie écrites sont transférées au pilote d'E/S à la fin de la tâche (3). L'implémentation dans le pilote d'E/S est déterminante pour le transfert supplémentaire des données d'E/S. Il est responsable du laps de temps et du moment où le transfert effectif vers le système de bus correspondant se produit.
La tâche de cycle de bus de l'automate peut être définie globalement pour tous les bus de terrain dans les paramètres de l'automate. Pour certains bus de terrain, cependant, vous pouvez modifier cela indépendamment du paramètre global. La tâche avec le temps de cycle le plus court est utilisée comme tâche de cycle de bus (réglage : non spécifié dans les paramètres de l'automate). Les messages sont normalement envoyés sur le bus dans cette tâche.
D'autres tâches copient uniquement les données d'E/S d'un tampon interne qui est échangé uniquement avec le matériel physique dans la tâche de cycle de bus.

(1) Lire les entrées du tampon d'entrée (2) Tâche CEI (3) Écrire les sorties dans le tampon de sortie (4) Cycle de bus (5) Tampon d'entrée (6) Tampon de sortie (7) Copier des données vers/depuis le bus (9) Cycle de bus tâche, priorité 1, 1 ms (10) Tâche de cycle de bus, priorité 5 (11) Tâche de cycle de bus, priorité 10, interrompue par la tâche 5
Utilisation des tâches
Le Déploiement des tâches L'onglet fournit une vue d'ensemble des canaux d'E/S utilisés, de la tâche de cycle de bus définie et de l'utilisation des canaux.
Avertissement
Si une sortie est écrite dans différentes tâches, l'état n'est pas défini, car il peut être écrasé dans chaque cas.
Si les mêmes entrées sont utilisées dans différentes tâches, il est possible que l'entrée change pendant le traitement d'une tâche. Cela se produit lorsque la tâche est interrompue par une tâche de priorité supérieure et provoque la relecture de la mémoire image. Solution : au début de la tâche CEI, copiez les variables d'entrée dans des variables, puis travaillez uniquement avec les variables locales dans le reste du code.
Conclusion : Utiliser les mêmes entrées et sorties dans plusieurs tâches n'a aucun sens et peut entraîner des réactions inattendues dans certains cas.